home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / Onderwijs disk 9.adf / Toetsen.AMOS / Toetsen.amosSourceCode < prev   
AMOS Source Code  |  1991-09-29  |  9KB  |  363 lines

  1. 1 For U=1 To 15
  2. 2 Channel U To Bob U : Next U
  3. 3 Dim SCAN(200),SCANX(200),SCANY(200),EDE(26),H(26),WO$(38)
  4. 90 Show On : Hide 
  5. 91 Restore 100
  6. 92 For K=1 To 26
  7. 93 Read SC$ : H(K)=Asc(SC$)
  8. 94 Next K
  9. 100 Data "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
  10. 110 Gosub 1000
  11. 120 Goto 6000
  12. 1000 Rem
  13. 1010 Rem
  14. 1020 Rem
  15. 1030 For K=1 To 26
  16. 1040 SCAN(K+64)=K
  17. 1050 Next K
  18. 1060 For K=27 To 52
  19. 1070 SCAN(K+70)=K
  20. 1080 Next K
  21. 1090 Restore 2000
  22. 1100 For K=0 To 9
  23. 1110 Read SC$
  24. 1120 SCANX(Asc(SC$))=56+(K*23)
  25. 1130 SCANY(Asc(SC$))=134
  26. 1140 Next K
  27. 1150 Rem
  28. 1160 Restore 3000
  29. 1170 For K=0 To 8
  30. 1180 Read SC$
  31. 1190 SCANX(Asc(SC$))=62+(K*23)
  32. 1200 SCANY(Asc(SC$))=155
  33. 1210 Next K
  34. 1220 Rem
  35. 1230 For K=0 To 6
  36. 1240 Read SC$
  37. 1250 SCANX(Asc(SC$))=70+(K*23)
  38. 1260 SCANY(Asc(SC$))=176
  39. 1270 Next K
  40. 1271 Return 
  41. 2000 Data "Q","W","E","R","T","Y","U","I","O","P"
  42. 3000 Data "A","S","D","F","G","H","J","K","L"
  43. 4000 Data "Z","X","C","V","B","N","M"
  44. 5000 Rem
  45. 5010 Rem
  46. 5020 Rem
  47. 5021 Bell : Bob Off 14
  48. 5030 AB$=K$
  49. 5040 If SCAN(Asc(AB$))<>0 Then Bob 1,SCANX(Asc(Upper$(AB$))),SCANY(Asc(Upper$(AB$))),SCAN(Asc(AB$))
  50. 5041 If Scancode=28 Then Bob 1,269,134,58
  51. 5042 If Key Shift=%1 or Key Shift=%10 Then Bob 14,19,176,64 Else Bob 14,-100,-100,1
  52. 5050 Return 
  53. 6000 Rem
  54. 6010 Rem
  55. 6030 Rem
  56. 6040 Screen Open 0,320,200,16,Lowres : Curs Off : Unpack 8 : Double Buffer : Get Sprite Palette : Flash Off : Curs Off : Volume 63
  57. 6050 Show On : Reserve Zone(4)
  58. 6060 Set Zone 1,100,94 To 169,113
  59. 6070 Set Zone 2,164,94 To 222,113
  60. 6080 Set Zone 3,100,116 To 169,137
  61. 6090 Set Zone 4,164,116 To 222,137
  62. 6100 Repeat 
  63. 6101 K$=Inkey$
  64. 6102 If K$<>"" Then Goto POODLE
  65. 6110 Until Mouse Key=1 and Mouse Zone<>0
  66. 6120 If Mouse Zone=1 Then Gosub 10000
  67. 6121 If Mouse Zone=3 Then Gosub 20000
  68. 6122 If Mouse Zone=4 Then Gosub 30000
  69. 6123 If Mouse Zone=2 Then Gosub 22150
  70. 6130 Goto 6100
  71. 7000 Rem
  72. 7020 Rem
  73. 7030 For K=NY To 97
  74. 7040 Bob 3,25,K,NB
  75. 7050 Wait Vbl 
  76. 7060 Next K
  77. 7070 NY=97 : Bob 5,254,94,59
  78. 7071 Bob 4,X Bob(2)+2,-60,56 : Move Y 4,"(1,1,60)" : Move On 4
  79. 7072 Wait 10 : Repeat : Until Movon(4)=0
  80. 7073 Move Y 4,"(1,-1,60)" : Move On 4
  81. 7078 Move Y 2,"(1,-1,80)" : Move On 2 : For K=80 To 30 Step -1 : Play 1,K,1 : Next K
  82. 7079 Wait 10 : Repeat : Until Movon(2)=0 : Wait 20
  83. 7080 Bob Off 5 : Return 
  84. 9000 Rem
  85. 9010 Rem
  86. 9020 Rem
  87. 9030 Rem
  88. 9031 Move Y 2,"(1,-2,60)" : Move Y 3,"(1,-2,60)" : Move On 
  89. 9040 For K=1 To 15
  90. 9050 Bob 10,SX+K,110,SN
  91. 9060 Swap SN,SNN
  92. 9070 Wait 5
  93. 9080 Next K
  94. 9090 SX=SX+15
  95. 9100 Return 
  96. 9101 Rem
  97. 9110 Rem
  98. 9120 Rem
  99. 9130 Rem
  100. 9140 For K=1 To 15
  101. 9150 Bob 11,MX+K,103,MN
  102. 9160 Swap MN,MNN
  103. 9170 Wait 5
  104. 9180 Next K
  105. 9190 MX=MX+15
  106. 9200 Return 
  107. 10000 Rem
  108. 10010 Rem
  109. 10020 Rem
  110. 10030 Rem
  111. 10040 Hide : NB=54 : NNB=55 : NY=97
  112. 10050 Unpack 6
  113. 10060 Gosub 21000
  114. 10061 Bob 3,25,NY,NB
  115. 10069 Repeat 
  116. 10070 For J=1 To 26
  117. 10080 Clear Key : Volume 1,10 : Play 1,0,0 : Bob 2,321,52,SCAN(EDE(J))
  118. 10090 Move X 2,"(1,-2,60)" : Move On 2
  119. 10100 Wait 10 : Repeat : Until Movon(2)=0
  120. 10110 Repeat 
  121. 10120 K$=Inkey$
  122. 10121 OP$=Chr$(EDE(J))
  123. 10130 Until K$<>""
  124. 10131 If K$<>OP$ Then Gosub 7000 : Goto 10190
  125. 10140 Bell : Bob 5,254,94,58 : Gosub 5000
  126. 10150 Wait 15
  127. 10160 Bob Off 1 : Bob Off 14
  128. 10170 Move X 2,"(1,2,80)" : Move On 2
  129. 10180 Wait 10 : Repeat : Until Movon(2)=0 : Bob Off 5
  130. 10181 For K=1 To 8
  131. 10182 Bob 3,25,NY-K,NB
  132. 10183 Swap NB,NNB
  133. 10184 Wait 5
  134. 10185 Next K : NY=NY-8
  135. 10186 If NY<25 Then Goto 10201
  136. 10190 Next J
  137. 10200 Until NY<26
  138. 10201 Goto 42500
  139. 20000 Rem
  140. 20010 Rem
  141. 20020 Rem
  142. 20030 Rem
  143. 20040 Rem
  144. 20050 Hide : NB=54 : NNB=55 : NY=97
  145. 20060 Unpack 6
  146. 20100 Gosub 21000
  147. 20110 MX=40 : SX=40 : SN=60 : SNN=61 : MN=62 : MNN=63
  148. 20120 Bob 11,MX,103,MN : Bob 10,SX,110,SN
  149. 20121 Repeat 
  150. 20130 For J=1 To 26
  151. 20131 FG=Rnd(300)
  152. 20132 If J<7 Then M$="(2,1,120)"
  153. 20133 If J>7 Then M$="(1,2,60)"
  154. 20134 If J>20 Then M$="(1,3,40)"
  155. 20135 Clear Key 
  156. 20140 Bob 2,FG,-20,SCAN(EDE(J)) : Bob 3,FG-3,-20-23,53
  157. 20150 Move Y 2,M$ : Move Y 3,M$ : Move On 2 : Move On 3
  158. 20160 Clear Key : Bob Update On : View 
  159. 20161 Repeat 
  160. 20170 K$=Inkey$
  161. 20180 If Upper$(K$)=Chr$(EDE(J)) Then Goto 20191
  162. 20181 If Upper$(K$)<>"" Then Goto 20193
  163. 20190 Until Y Bob(3)>74 : Goto 20192
  164. 20191 Gosub 5000 : Wait 20 : Bob Off 1 : Bob Off 14 : Gosub 9000 : Goto 20200
  165. 20192 If Upper$(K$)<>"" Then Goto 20160
  166. 20193 Rem
  167. 20194 Fade 1,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Boom : Wait 30 : Bob Off 2 : Bob Off 3 : Get Sprite Palette : Gosub 9101
  168. 20200 If MX>300 Then Goto 42600
  169. 20201 If SX>300 Then Goto 42000
  170. 20202 Next J
  171. 20998 Until False
  172. 20999 Rem
  173. 21000 Rem
  174. 21010 Rem
  175. 21020 Rem
  176. 21030 Rem
  177. 21031 For O=1 To 26 : EDE(O)=0 : Next O
  178. 21040 For C=1 To 26
  179. 21050 G=H(Rnd(25)+1) : Gosub 21120
  180. 21060 If JK=2 Then Goto 21050
  181. 21070 EDE(C)=G
  182. 21080 Next C
  183. 21081 Return 
  184. 21120 JK=0 : For L=1 To 26
  185. 21130 If EDE(L)=G Then JK=2
  186. 21140 Next L
  187. 21150 Return 
  188. 22000 Rem
  189. 22010 Rem
  190. 22020 Rem
  191. 22030 Rem
  192. 22040 For O=1 To 26 : EDE(O)=0 : Next O
  193. 22050 For C=1 To 26
  194. 22060 G=H(Rnd(25)+1) : Gosub 22110
  195. 22070 If JK=2 Then Goto 22060
  196. 22080 EDE(C)=G+32
  197. 22090 Next C
  198. 22100 Return 
  199. 22110 JK=0 : For L=1 To 26
  200. 22120 If EDE(L)=G Then JK=2
  201. 22130 Next L
  202. 22140 Return 
  203. 22150 Rem
  204. 22160 Rem
  205. 22170 Rem
  206. 22180 Rem
  207. 22190 Hide : NB=54 : NNB=55 : NY=97
  208. 22200 Unpack 6
  209. 22240 Gosub 22000
  210. 22250 Bob 3,25,NY,NB
  211. 22260 Repeat 
  212. 22270 For J=1 To 26
  213. 22280 Clear Key : Volume 1,10 : Play 1,0,0 : Bob 2,321,52,SCAN(EDE(J))
  214. 22290 Move X 2,"(1,-2,60)" : Move On 2
  215. 22300 Repeat : Until Movon(2)=0
  216. 22310 Repeat 
  217. 22320 K$=Inkey$
  218. 22340 Until K$<>""
  219. 22341 If K$<>Chr$(EDE(J)) Then Gosub 7000 : Goto 22460
  220. 22350 Bell : Bob 5,254,94,58 : Gosub 5000
  221. 22360 Wait 15
  222. 22370 Bob Off 1
  223. 22380 Move X 2,"(1,2,60)" : Move On 2
  224. 22390 Wait 10 : Repeat : Until Movon(2)=0 : Bob Off 5
  225. 22400 For K=1 To 8
  226. 22410 Bob 3,25,NY-K,NB
  227. 22420 Swap NB,NNB
  228. 22430 Wait 5
  229. 22440 Next K : NY=NY-8
  230. 22450 If NY<25 Then Goto 22480
  231. 22460 Next J
  232. 22470 Until NY<26
  233. 22480 Goto 42500
  234. 22490 Rem
  235. 30000 Unpack 6 : Hide : Curs Off : Bob Off 
  236. 30010 LX=168 : LY=52 : Gosub 50000
  237. 30011 AN$="" : PO=1 : Autoback 2
  238. 30020 Repeat 
  239. 30021 For E=1 To 37
  240. 30022 For GG=2 To 7 : Bob Off GG : Next GG
  241. 30023 Clear Key : LX=168 : CX=168 : Gosub 34000
  242. 30028 For JH=1 To 5
  243. 30029 Repeat 
  244. 30030 K$=Inkey$
  245. 30040 Until Asc(K$)>64 and Asc(K$)<123
  246. 30050 Gosub 5000
  247. 30060 Bob 2+JH,LX,LY,SCAN(Asc(K$))
  248. 30080 LX=LX+23
  249. 30090 Clear Key 
  250. 30091 Inc PO : AN$=AN$+K$ : Next JH
  251. 30092 Wait 50 : Gosub 35000
  252. 30099 Next E
  253. 30100 Until False
  254. 34000 Rem
  255. 34010 Rem
  256. 34020 Rem  
  257. 34030 WX=5
  258. 34040 For K=1 To 5
  259. 34050 A$=Mid$(WO$(E),K,1)
  260. 34060 Bob 8+K,WX,-30,SCAN(Asc(A$))
  261. 34070 WX=WX+23
  262. 34080 Next K
  263. 34090 For K=1 To 5
  264. 34100 Move Y 8+K,"(1,2,50)" : Move On 8+K : Auto View On 
  265. 34110 Wait 10 : Repeat : Until Movon(K+8)=0
  266. 34120 Next K
  267. 34130 Return 
  268. 35000 Rem
  269. 35010 Rem
  270. 35020 Rem
  271. 35040 PO=1
  272. 35041 For T=1 To 5
  273. 35050 If Mid$(AN$,T,1)<>Mid$(WO$(E),T,1) Then Gosub 41000
  274. 35051 CX=CX+23
  275. 35060 Next T
  276. 35061 AN$="" : AA$=WO$(E)+"."
  277. 35070 Return 
  278. 40000 Data "AAPJE","AARDE","ADRES","AFDAK","AFRIT","AFVAL","BAKJE","BARON","BEKER","BRAND"
  279. 40001 Data "GEBAK","GEZIN","GRIEP","GROEN","HAVEN","HEEFT","HOORN","INRIT","INZET","JUIST","KAARS","KANON","KASSA","KLEIN"
  280. 40002 Data "LELIE","LOTTO","MAAND","MAGER","MICRO","NIEUW","OMDAT","OMOOG","OMRIT","PAREN","PATAT","PINDA","POKER"
  281. 41000 Rem
  282. 41010 Rem
  283. 41020 Rem
  284. 41030 Move Y 2+T,"(1,-1,90)"
  285. 41040 Move On 2+T
  286. 41050 Wait 10 : Repeat 
  287. 41060 Until Movon(2+T)=0
  288. 41061 JJY=Y Bob(2+T)
  289. 41070 Bob 2+T,CX,JJY,SCAN(Asc(Mid$(WO$(E),T,1)))
  290. 41080 Move Y 2+T,"(1,1,90)"
  291. 41090 Move On 2+T
  292. 41100 Wait 10 : Repeat : Until Movon(2+T)=0 : Volume 1,15
  293. 41101 For K=30 To 50 : Play 1,K,1 : Next K : Play 1,0,0
  294. 41110 Return 
  295. 42000 Rem
  296. 42010 Rem
  297. 42020 Rem
  298. 42030 Fade 1,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7
  299. 42031 Wait 10
  300. 42032 Cls 0 : Bob Off 
  301. 42033 Rem  
  302. 42040 M$="   Prima" : XOP=60 : YOP=1
  303. 42050 Gosub 43000
  304. 42060 M$="   Je won" : XOP=73 : YOP=80
  305. 42070 Gosub 43000
  306. 42071 M$="   de race" : XOP=61 : YOP=110
  307. 42072 Gosub 43000
  308. 42080 Get Sprite Palette 
  309. 42090 Wait Key 
  310. 42091 Goto 90
  311. 42500 Rem
  312. 42510 Rem
  313. 42520 Rem
  314. 42530 Fade 1,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7
  315. 42531 Wait 10
  316. 42532 Cls 0 : Bob Off 
  317. 42533 Rem
  318. 42540 M$="  Prima" : XOP=60 : YOP=1
  319. 42550 Gosub 43000
  320. 42560 M$="  Je klom op" : XOP=73 : YOP=80
  321. 42570 Gosub 43000
  322. 42571 M$="  de boom" : XOP=61 : YOP=110
  323. 42572 Gosub 43000
  324. 42580 Get Sprite Palette 
  325. 42590 Wait Key 
  326. 42592 Goto 90
  327. 42600 Rem
  328. 42610 Rem
  329. 42620 Rem
  330. 42630 Fade 1,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7,$7
  331. 42631 Wait 10
  332. 42632 Cls 0 : Bob Off 
  333. 42633 Rem  
  334. 42640 M$="  Sorry" : XOP=60 : YOP=1
  335. 42650 Gosub 43000
  336. 42660 M$="  Amigo wint" : XOP=73 : YOP=80
  337. 42670 Gosub 43000
  338. 42671 M$="  " : XOP=61 : YOP=110
  339. 42672 Gosub 43000
  340. 42680 Get Sprite Palette 
  341. 42690 Wait Key 
  342. 42692 Goto 90
  343. 43000 Rem
  344. 43010 Rem
  345. 43020 Rem
  346. 43021 XOP=1
  347. 43030 For H=1 To Len(M$)
  348. 43040 GG$=Mid$(M$,H,1)
  349. 43041 If GG$=" " Then Goto 43070
  350. 43050 Paste Bob XOP,YOP,SCAN(Asc(GG$))
  351. 43070 XOP=XOP+23 : Next H
  352. 43080 Return 
  353. 50000 Rem
  354. 50010 Rem
  355. 50020 Rem
  356. 50030 Restore 40000
  357. 50040 For K=1 To 37
  358. 50050 Read WO$(K)
  359. 50060 Next K
  360. 50070 Return 
  361. Stop 
  362. POODLE:
  363. Run "autoexec.amos"